﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace BindingBasics
{
    public class Persona:INotifyPropertyChanged
    {
        public int UniqueId { get; set; }
        private int _edad;

        public int Edad
        {
            get { return _edad; }
            set { _edad = value;
            NotifyChanged("Edad");
            }
        }
        private string _nombre;

        public string Nombre
        {
            get { return _nombre; }
            set { _nombre = value;
            NotifyChanged("Nombre");
            }
        }

        private void NotifyChanged(string nombrePropiedad)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(nombrePropiedad));
        }

        private string _color;

        public string Color
        {
            get { return _color; }
            set { _color = value;
            NotifyChanged("Color");
            }
        }


        public void CumplirAnnos()
        {
            Edad = Edad + 1;
        }

        public void Save()
        {
            SaveImplementation(UniqueId, Edad, Nombre);
        }

        private static void SaveImplementation(int Id, int Edad, string Nombre)
        {
            //throw new NotImplementedException();
        }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        #endregion
    }
}
